package fr.pascal;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class DoSomething implements Controller {

	// un groupe de personnes fourni par le contexte de l'application
	private Groupe groupe;

	public Groupe getGroupe() {
		return groupe;
	}

	public void setGroupe(Groupe groupe) {
		this.groupe = groupe;
	}

	// gestion de la requête
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		
		// début
		long début = new Date().getTime();
		
		// attente
		Thread.sleep(10);
		
		// on code en dur
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		
		// on prépare le code HTML
		String Html = "<html><head><title>tahe-xmvc-05</title></head>"
				+ "<body>";
		
		// on parcourt la liste des membres du groupe
		ArrayList<String> membres = groupe.getMembres();
		for (int i = 0; i < membres.size(); i++) {
			Html += membres.get(i).toString() + "<br>\n";
		}
		
		// fin
		long fin = new Date().getTime();
		
		// durée
		long durée = fin - début;
		Html += "<br>DoSomething ex&eacute;cut&eacute; en " + durée + " ms ...</body></html>";
		
		// on envoie le flux HTML
		out.println(Html);
		
		// pas de ModelAndView
		return null;
	}
}
